1. Field of the Invention
The present invention relates to a mobile communication system, and more particularly to a forward multiple scrambling code generating method and apparatus.
2. Background of the Related Art
The Third Generation Partnership Project (3GPP) was recently established to make a technical standard for next generation mobile communication systems. The 3GPP proposes having a transport channel, a physical channel, a dedicated channel, and a common channel as channels for downlinks. In a next generation code division multiple access (CDMA) mobile communication system, respective downlink physical channels allocated for a plurality of subscribers are distinguished from one another using intrinsic orthogonal codes so that they can simultaneously transmit data at the same frequency. That is, each base station or cell of the next generation mobile communication system is distinguishable from other base stations or cells, based on an associated intrinsic scrambling code multiplied with a user bit transmitted through the physical channel thereof. In order to distinguish subscribers of each base station from one another, different channelization codes are multiplied with the respective user bit. The reason why base stations or subscribers should be distinguished from one another is that the next generation mobile communication system is based on an asynchronous system in which base stations are not synchronous with one another.
To distinguish among base stations in the next generation communication system, therefore, a system is employed in which each base station is allocated with an intrinsic scrambling code different from those of other base stations. In order to allow a flexible cell design, 512 intrinsic scrambling codes are set. Also, Gold codes are typically used.
A multiple scrambling code is additionally used in the next generation mobile communication system to satisfy a shortage of scrambling codes caused by an increase in the number of subscribers. Thus, each base station transmits user signals after modulating them using several scrambling codes.
The multiple scrambling code used to allow an increase in the number of subscribers, as mentioned above, will be described in more detail.
The multiple scrambling code includes a primary scrambling code and a secondary scrambling code. The primary scrambling code are defined as a common pilot channel and a common control channel, for base stations, which are used for channels adapted to transmit base station information. Codes other than such a primary scrambling code are defined as the secondary scrambling code. Assuming that M secondary scrambling codes are used for each of N base stations, N*(M+1) scrambling codes are totally required for the system. These scrambling codes may be generated by a code generator configured as shown in FIG. 1.
FIG. 1 is a circuit diagram illustrating a related art scrambling code generator. Referring to FIG. 1, the scrambling code generator is configured to vary the initial value of each of shift registers 1 respectively associated with the primary and secondary scrambling codes while fixing the initial value of a shift register 2, associated with the shift register 1 to a value of “1”, thereby generating a maximum of 218 different scrambling codes.
To generate one of the N*(M+1) different scrambling codes, for example the k-th scrambling code, a one-to-one mapping rule is required between the initial value of the shift register 1 and the value of k in the code generator shown in FIG. 1. If such a mapping rule were simpler, the calculation of the initial value based on the value of k can be simplified.
For such a mapping rule between the initial value of the shift register 1 and the value of k, accordingly, a method may be proposed in which a binary expression of the value of k is used for the initial value of a gold code generator. In accordance with this method, N*(M+1) scrambling codes are sorted into a primary scrambling code set or secondary scrambling code sets, respectively.
FIG. 2 is a diagram illustrating a related art scrambling code sorting system. Referring to FIG. 2, N scrambling codes, for example 0-th to 511-th are allocated for a primary scrambling code set. The remaining scrambling codes following the primary scrambling code set are allocated for the M secondary scrambling codes in such a fashion that one secondary scrambling code set consists of 511 successive scrambling codes. Thus, N*(M+1) scrambling codes are respectively sorted (N=0, . . . , 511). Accordingly, the m-th secondary scrambling code set consists of (m*512)-th, . . . , (m*512+511)-th (m=1, . . . , M) scrambling codes.
In accordance with such a code sorting system, a base station, which uses the k-th primary scrambling code of the primary scrambling code set, should use respective k-th secondary scrambling codes of the secondary scrambling code sets for the secondary scrambling codes thereof.
The above mentioned mapping rule and code sorting system make it possible to more simply set the initial value of the scrambling code generator. In other words, where a base station, which uses the k-th one of N primary scrambling codes (where, for example, N=512), is required to generate the m-th secondary scrambling code, the initial value of the scrambling code generator can be simply determined by a binary expression of the values of k and m, without any additional calculation.
Another scrambling code sorting system may be used in which the k-th one of N*(M+1) different scrambling codes is generated using an initial value obtained by shifting the initial value, used for the generation of the first scrambling code, by k−1 times.
For example, assuming that the initial value used for the generation of the first scrambling code is set with “0, 0, 0, . . . , 0, 0, 1”, and the first scrambling code generated based on this initial value corresponds to “x(0), x(1), . . . ”, the initial value used for the generation of the k-th scrambling code corresponds to “x(16+k), x(15+k), . . . , x(k+1), x(k), x(k−1)”.
In this case, accordingly, a code sorting system of FIG. 3 is used. In accordance with this code sorting system, N*(M+1) scrambling codes are sorted into a primary scrambling code set or secondary scrambling code sets, respectively, in such a fashion that the ((M+1)*(k−1)+1)-th scrambling code is allocated for the k-th main scrambling code whereas ((M+1)*(k−1)+2)-th, . . . , and ((M+1)*(k−1)+M+1)-th scrambling codes are allocated for respective secondary scrambling codes associated with the k-th primary scrambling code.
This means that in a base station using the k-th primary scrambling code, the m-th secondary scrambling code is generated using an initial value obtained by shifting the initial value, used for the generation of the k-th primary scrambling code, by m times.
Both of the above mentioned scrambling code generating methods have various problems.
For example, although the first scrambling code generating method minimizes the number of calculations to set the initial value upon generating a single scrambling code because that initial value can be simply determined using the scrambling number, it requires two code generators for a multiple scrambling code system in which a primary scrambling code and a secondary scrambling code are simultaneously generated. Such a multiple scrambling code system cannot be implemented using a single code generator.
Generally, a user element should simultaneously receive a common pilot channel and a data channel. In a specific user element in which its data channel is to be transmitted in a state modulated with a secondary scrambling code, it is necessary to simultaneously generate primary and secondary scrambling codes in order to simultaneously detect control information and data. In such a user element using two code generators for the simultaneous generation of primary and secondary scrambling codes, there is a problem in that the size and power consumption of the user element increase. This also results in an enlargement of the system configuration, thereby causing an increase in the hardware overhead.
In the second scrambling code generating method using a scrambling code sorting system in which an initial value associated with the k-th one of N*(M+1) different scrambling codes is obtained by shifting the initial value, used for the generation of the first scrambling code, by (M+1)*k−1 times, the number of calculations need to set the initial value increases greatly in accordance with an increase in the value of k. This results in a time delay in the system.
The above references are incorporated by reference herein where appropriate for appropriate teachings of additional or alternative details, features and/or technical background.